﻿using System.Text.RegularExpressions;
using Microsoft.Security.Application;
using System.Text;

namespace InhollandAirPortal {
  public class CustomSanitize {
    /* Regexs' uit registreer form */
    public static Regex regex_Letters = new Regex(@"^[a-zA-Z'.\s]"); /* voornaam , tussenvoegsel, achternaam, straatnaam, huisnummer_toevoeging, woonplaats */
    public static Regex regex_LettersCijfers = new Regex(@"^[a-zA-Z0-9 ]"); /* postcode, gebruikersnaam*/
    public static Regex regex_LettersCijfersExtra = new Regex(@"^[a-zA-Z0-9 .,-]"); /* postcode, gebruikersnaam*/

    public static Regex regex_Telefoon = new Regex(@"^[+()0-9]"); /* telefoonnummer (cijfers en mag ook een + of ( ) bevatten*/
    public static Regex regex_Land = new Regex(@"^[a-zA-Z &()]"); /* land */

    public static string CleanAndEncode(Regex ARegex, string Value) {
      // Tekens die niet in de regex staan worden niet toegevoegd aan de CleanValue
      if (string.IsNullOrEmpty(Value)) { return string.Empty; }
      StringBuilder CleanValue = new StringBuilder(Value.Length);
      for (int i = 0; i < Value.Length; i++) {
        if (ARegex.Match(Value, i, 1).Success)
          CleanValue.Append(Value.Substring(i, 1));
      }
      return Microsoft.Security.Application.Encoder.HtmlEncode(CleanValue.ToString());
    }
  }
}